var runtime.gcBitsArenas

35 uses

	runtime (current package)
		malloc.go#L465: 	lockInit(&gcBitsArenas.lock, lockRankGcBitsArenas)
		mheap.go#L2895: var gcBitsArenas struct {
		mheap.go#L2926: 	head := (*gcBitsArena)(atomic.Loadp(unsafe.Pointer(&gcBitsArenas.next)))
		mheap.go#L2933: 	lock(&gcBitsArenas.lock)
		mheap.go#L2937: 	if p := gcBitsArenas.next.tryAlloc(bytesNeeded); p != nil {
		mheap.go#L2938: 		unlock(&gcBitsArenas.lock)
		mheap.go#L2947: 	if p := gcBitsArenas.next.tryAlloc(bytesNeeded); p != nil {
		mheap.go#L2950: 		fresh.next = gcBitsArenas.free
		mheap.go#L2951: 		gcBitsArenas.free = fresh
		mheap.go#L2952: 		unlock(&gcBitsArenas.lock)
		mheap.go#L2964: 	fresh.next = gcBitsArenas.next
		mheap.go#L2965: 	atomic.StorepNoWB(unsafe.Pointer(&gcBitsArenas.next), unsafe.Pointer(fresh))
		mheap.go#L2967: 	unlock(&gcBitsArenas.lock)
		mheap.go#L2996: 	lock(&gcBitsArenas.lock)
		mheap.go#L2997: 	if gcBitsArenas.previous != nil {
		mheap.go#L2998: 		if gcBitsArenas.free == nil {
		mheap.go#L2999: 			gcBitsArenas.free = gcBitsArenas.previous
		mheap.go#L3002: 			last := gcBitsArenas.previous
		mheap.go#L3003: 			for last = gcBitsArenas.previous; last.next != nil; last = last.next {
		mheap.go#L3005: 			last.next = gcBitsArenas.free
		mheap.go#L3006: 			gcBitsArenas.free = gcBitsArenas.previous
		mheap.go#L3009: 	gcBitsArenas.previous = gcBitsArenas.current
		mheap.go#L3010: 	gcBitsArenas.current = gcBitsArenas.next
		mheap.go#L3011: 	atomic.StorepNoWB(unsafe.Pointer(&gcBitsArenas.next), nil) // newMarkBits calls newArena when needed
		mheap.go#L3012: 	unlock(&gcBitsArenas.lock)
		mheap.go#L3019: 	if gcBitsArenas.free == nil {
		mheap.go#L3020: 		unlock(&gcBitsArenas.lock)
		mheap.go#L3025: 		lock(&gcBitsArenas.lock)
		mheap.go#L3027: 		result = gcBitsArenas.free
		mheap.go#L3028: 		gcBitsArenas.free = gcBitsArenas.free.next